package com.shiva.oms.server.parser;

import java.text.ParseException;
import java.util.Properties;

import com.sf.shiva.oms.common.exception.InitializationException;
import com.shiva.oms.logview.api.model.TableColumns;
import com.shiva.oms.logview.domain.LogData;
import com.shiva.oms.logview.domain.ParsingContext;

public interface LogParser {

    int LOG_PARSER_VERSION_1 = 1;

    void init(Properties properties) throws InitializationException;

    void initParsingContext(ParsingContext parsingContext);

    LogData parse(String line, ParsingContext parsingContext) throws ParseException;

    boolean isMatchRegexpPattern(String line);

    int getVersion();

    TableColumns[] getTableColumnsToUse();
}
